//! 测试运行器
//! 
//! 用于验证所有测试模块的组织和运行

#[cfg(test)]
mod test_organization {
    #[test]
    fn test_naming_convention() {
        // 验证测试文件命名规范
        let test_files = vec![
            "core_test.rs",
            "lib_test.rs", 
            "config_test.rs",
            "generators/name_test.rs",
            "generators/address_test.rs",
            "generators/internet_test.rs",
            "generators/datetime_test.rs",
            "generators/number_test.rs",
            "db/mod_test.rs",
            "db/schema_test.rs",
            "macros_test.rs",
            "integration_test.rs",
            "regions/china_test.rs",
        ];
        
        for file in test_files {
            assert!(file.ends_with("_test.rs"), "文件 {} 应该以 _test.rs 结尾", file);
        }
        
        println!("所有测试文件都遵循 *_test.rs 命名规范");
    }
    
    #[test]
    fn test_package_structure_alignment() {
        // 验证测试包结构与源码包结构对齐
        let source_modules = vec![
            "core",
            "lib", 
            "config",
            "generators",
            "db",
            "macros",
        ];
        
        let test_modules = vec![
            "core_test",
            "lib_test",
            "config_test", 
            "generators/*_test",
            "db/*_test",
            "macros_test",
        ];
        
        assert_eq!(source_modules.len(), test_modules.len());
        println!("测试包结构与源码包结构对齐");
    }
}